#ifndef VLBRUSHCONTEXTWIDGET_H
#define VLBRUSHCONTEXTWIDGET_H

#include <QWidget>
#include <QComboBox>
#include <QSpinBox>
#include <QLabel>
#include <QHBoxLayout>
#include "ToolList.h"
#include "brushtool.h"
#include "vlcontextwidget.h"

class VLBrushContextWidget : public VLContextWidget
{
    Q_OBJECT
public:
    explicit VLBrushContextWidget(QWidget *parent = 0);
    
signals:
    void shapeChanged(int);
    void sizeChanged(int);
    void heightChanged(int);
    void breadthChanged(int);
    void shapeAdded(QString, int);
    void shapeDeleted(int);

public slots:
    void setShape(int);
    void setSize(int);
    void setHeight(int);
    void setBreadth(int);
    void addShape();
    void delShape();

private:
    enum shapes{CUBE, CUBOID, SPHERE, PYRAMID};

    QHBoxLayout *layout;
    QLabel *nameLabel;

    QLabel *shapeLabel;
    QComboBox *shapeBox;
    QStringList *shapesList;

    QLabel *sizeLabel;
    QSpinBox *sizeBox;

    QLabel *heightLabel;
    QSpinBox *heightBox;

    QLabel *breadthLabel;
    QSpinBox *breadthBox;

    QPushButton *addShapeBtn;
    QPushButton *delShapeBtn;

    void setDefaults();
    QPushButton * createAndAddButton(QHBoxLayout *tlayout, QString text);
};

#endif // VLBRUSHCONTEXTWIDGET_H
